package com.ag.bean;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import org.hibernate.annotations.GenericGenerator;

/**
 * TbPowerTransfer entity.
 * 
 * @author MyEclipse Persistence Tools
 */
@Entity
@Table(name = "TB_POWER_TRANSFER", schema = "dbo", catalog = "AGDB")
public class TbPowerTransfer implements java.io.Serializable {

	// Fields

	private String pfId;
	private TbUser tbUserByPfOrg;
	private TbUser tbUserByPfDst;
	private TbEvent tbEvent;
	private String a;
	private String b;
	private String c;

	// Constructors

	/** default constructor */
	public TbPowerTransfer() {
	}

	/** full constructor */
	public TbPowerTransfer(TbUser tbUserByPfOrg, TbUser tbUserByPfDst,
			TbEvent tbEvent, String a, String b, String c) {
		this.tbUserByPfOrg = tbUserByPfOrg;
		this.tbUserByPfDst = tbUserByPfDst;
		this.tbEvent = tbEvent;
		this.a = a;
		this.b = b;
		this.c = c;
	}

	// Property accessors
	@GenericGenerator(name = "generator", strategy = "uuid.hex")
	@Id
	@GeneratedValue(generator = "generator")
	@Column(name = "PF_ID", unique = true, nullable = false, length = 32)
	public String getPfId() {
		return this.pfId;
	}

	public void setPfId(String pfId) {
		this.pfId = pfId;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "PF_ORG")
	public TbUser getTbUserByPfOrg() {
		return this.tbUserByPfOrg;
	}

	public void setTbUserByPfOrg(TbUser tbUserByPfOrg) {
		this.tbUserByPfOrg = tbUserByPfOrg;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "PF_DST")
	public TbUser getTbUserByPfDst() {
		return this.tbUserByPfDst;
	}

	public void setTbUserByPfDst(TbUser tbUserByPfDst) {
		this.tbUserByPfDst = tbUserByPfDst;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "E_ID")
	public TbEvent getTbEvent() {
		return this.tbEvent;
	}

	public void setTbEvent(TbEvent tbEvent) {
		this.tbEvent = tbEvent;
	}

	@Column(name = "A", length = 60)
	public String getA() {
		return this.a;
	}

	public void setA(String a) {
		this.a = a;
	}

	@Column(name = "B", length = 60)
	public String getB() {
		return this.b;
	}

	public void setB(String b) {
		this.b = b;
	}

	@Column(name = "C", length = 60)
	public String getC() {
		return this.c;
	}

	public void setC(String c) {
		this.c = c;
	}

}